// import React, { ReactNode } from 'react';
// import { Button, Form, Icon, Upload } from 'antd';
// import * as BdHelper from "@/utils/BdHelper";
// import CKEditor from '@ckeditor/ckeditor5-react';
// import ClassicEditor from './ckeditor5-build-classic';
// import './ckeditor5-build-classic/build/translations/zh-cn';
// import './index.less';
// import styles from './index.less';

// interface PropsType {
//   label?: string | ReactNode;
//   name: string;
//   initialValue?: any;
//   itemLayout?: {};
//   rules?: any;
//   form: any;
// }
// const InputItem: React.FC<PropsType> = props => {
//   const {
//     label,
//     name,
//     initialValue,
//     itemLayout = {},
//     rules,
//     form,
//   } = props;
// const FormItem = Form.Item;
// const token = BdHelper.getBdToken();
// class MyUploadAdapter {
//   constructor( loader ) {
//       this.loader = loader;
//   }

//   upload() {
//       return this.loader.file
//           .then( file => new Promise( ( resolve, reject ) => {
//               this._initRequest();
//               this._initListeners( resolve, reject, file );
//               this._sendRequest( file );
//           } ) );
//   }
//   abort() {
//       if ( this.xhr ) {
//           this.xhr.abort();
//       }
//   }
//   _initRequest() {
//       const xhr = this.xhr = new XMLHttpRequest();
//       xhr.open( 'POST', '/api/admin/file/upload', true );
//       xhr.setRequestHeader('Authorization',`Bearer ${token}`)
//       xhr.responseType = 'json';
//   }
//   _initListeners( resolve, reject, file ) {
//       const xhr = this.xhr;
//       const loader = this.loader;
//       const genericErrorText = `Couldn't upload file: ${ file.name }.`;
//       xhr.addEventListener( 'error', () => reject( genericErrorText ) );
//       xhr.addEventListener( 'abort', () => reject() );
//       xhr.addEventListener( 'load', () => {
//           const response = xhr.response;
//           let file = {};
//           if(response.code == 0){
//             file={
//               url:response.data.file_url,
//               uploaded:true,
//             }
//           }
//           console.log('response',response)
//           if ( !response || response.error ) {
//               return reject( response && response.error ? response.error.message : genericErrorText );
//           }
//           resolve( {
//               default: response.data.file_url
//           } );
//       } );

//       if ( xhr.upload ) {
//           xhr.upload.addEventListener( 'progress', evt => {
//               if ( evt.lengthComputable ) {
//                   loader.uploadTotal = evt.total;
//                   loader.uploaded = evt.loaded;
//               }
//           } );
//       }
//   }

//   _sendRequest( file ) {
//       const data = new FormData();

//       data.append( 'file', file );
//       data.append( 'type', 'image' );

//       // Send the request.
//       this.xhr.send( data );
//   }
// }

// function MyCustomUploadAdapterPlugin( editor ) {
//   console.log(Array.from( editor.ui.componentFactory.names() ));
//   editor.plugins.get( 'FileRepository' ).createUploadAdapter = ( loader ) => {
//       return new MyUploadAdapter( loader );
//   };
// }

//   return (
//     <FormItem label={label} {...itemLayout}>
//       {form.getFieldDecorator(name, {
//         // initialValue,
//         rules,
//         getValueFromEvent: (event, editor) => {
//           const data = editor.getData();
//           return data;
//         },
//       })(<CKEditor 
//         style={styles.contain}
//       editor={ ClassicEditor}
//       type="classic"
//       data={initialValue}
//       config={{
//         toolbar: [
//           'heading',
//           'bold',
//           'italic',
//           'fontfamily',
// 			    'fontSize',
// 			    'fontColor',
// 			    'fontBackgroundColor',
//           'alignment',
//           'numberedList',
//           'bulletedList',
//           'blockQuote',
//           'imageUpload',
//           'Link',
//           'undo', //撤销
//           'redo',//重做
//         ],
//         extraPlugins: [ MyCustomUploadAdapterPlugin],
//         language: 'zh-cn',
//         image: {
//           toolbar: [
//               'imageTextAlternative','imageStyle:full','imageStyle:side'
//           ]
//       },
//       }}
//     />)}
//     </FormItem>
//   );
// };
// export default InputItem;
